变量调试
除了Trace调试之外,系统还提供了\think\Debug类用于各种调试。
输出某个变量是开发过程中经常会用到的调试方法,除了使用php内置的var_dump和print_r之外,ThinkPHP框架内置了一个对浏览器友好的dump方法,用于输出变量的信息到浏览器查看。
用法:
dump($var, $echo=true, $label=null)
相关参数的使用如下:
| 参数 | 描述 |
|---|---|
| var(必须) | 要输出的变量,支持所有变量类型 |
| echo(可选) | 是否直接输出,默认为true,如果为false则返回但不输出 |
| label(可选) | 变量输出的label标识,默认为空 |
如果第二个参数为false则返回要输出的字符串而不是直接输出。
使用示例:
$blog = Db::name('blog')->where('id', 3)->find();dump($blog);
在浏览器输出的结果是:
array(12) {["id"] => string(1) "3"["name"] => string(0) ""["user_id"] => string(1) "0"["cate_id"] => string(1) "0"["title"] => string(4) "test"["content"] => string(4) "test"["create_time"] => string(1) "0"["update_time"] => string(1) "0"["status"] => string(1) "0"["read_count"] => string(1) "0"["comment_count"] => string(1) "0"["tags"] => string(0) ""}
如果需要在调试变量输出后中止程序的执行,可以使用halt函数,例如:
$blog = Db::name('blog')->where('id', 3)->find();halt($blog);echo '这里的信息是看不到的';
执行后会输出同样的结果并中止执行后续的程序。
5.1版本中为了方便查看,
dump输出的模型对象实例显示为数组,如果你需要输出实际的模型属性可以使用var_dump方法。